﻿var GanchitieuriengDonvi = function () {
    function Loaddata(namekehoach, initData) {
        $.ajax({
            url: initData.Getallchitieurieng,
            type: "GET",
            headers: {
                'VerificationToken': initData.VerificationToken
            },
            dataType: "json",
            async:false,
            success: function (data) {
                $('.nam').text($('#Namkehoach option:selected').text());
                Loadtree('.ct', data);
            },
            error: function (jqXHR, textStatus, errorThrown) {
                window.notice('Có lỗi xảy ra trong quá trình lưu thông tin: ' + errorThrown, window.notice_error);
            },
            complete: function () {

            }
        });
        $.ajax({
            url: initData.Getchitieuriengbydv,
            type: "GET",
            headers: {
                'VerificationToken': initData.VerificationToken
            },
            dataType: "json",
            async:false,
            data: {
                'namkh': namekehoach,
            },
            success: function (data) {
                $.each(data, function (i, v) {
                    $('.ct input[level="3"]').each(function () {
                        if ($(this).val() == v.CHI_TIEU_ID) {
                            var datacha = $(this).attr('data-cha');
                            $('.cap-' + datacha + '').prop("indeterminate", true);
                            $(this).prop('checked', true);
                        }
                    });
                })
            },
            error: function (jqXHR, textStatus, errorThrown) {
                window.notice('Có lỗi xảy ra trong quá trình lưu thông tin: ' + errorThrown, window.notice_error);
            },
            complete: function () {
            }
        });
    }
    function Loadtree(select, value) {
        $(select).empty();
        var flagcap1 = 0;
        var flagcap2 = 0;
        $.each(value, function (i, v) {
            if (v.CAP == '1') {
                flagcap1 = v.MA_CAP1;
                $(select).append('<div class="panel panel-default">\
                    <div class="panel-heading">' + v.TEN_CHI_TIEU + '</div>\
                    <div class="panel-body body-'+ v.MA_CAP1 + ' ">\
                    </div>\
                </div>\
                            ');
            }
            if (v.CAP == '2') {
                if (v.MA_CAP1 == flagcap1) {
                    $('.body-' + v.MA_CAP1 + '').append('\
                                <span class="span-' + v.MA_CAP2 + ' ">+</span>\
                                <input type="checkbox" class="checkvaluecha cap-' + v.MA_CAP2 + '"  level="2" value="' + v.MA_CAP2 + '" />\
                        <span class="showdetail tencap2-' + v.MA_CAP2 + '" data="' + v.MA_CAP2 + '">' + v.TEN_CHI_TIEU + '</span>\
                        <ul >\
                            <div class="tencap3-' + v.MA_CAP2 + '" style="display:none;" >\
                            </div>\
                        </ul>\
                                ');
                    flagcap2 = v.MA_CAP2;
                }
            }
            if (v.CAP == '3') {
                if (v.MA_CAP2 == flagcap2) {
                    $('.tencap3-' + v.MA_CAP2 + '').append('<li>\
                                        <input type="checkbox"  class="checkvaluecon check-'+ v.MA_CAP2 + '" level="3" data-cha="' + v.MA_CAP2 + '" value="' + v.CHI_TIEU_ID + '"/>\
                                    <span>'+ v.TEN_CHI_TIEU + '</span>\
                                    </li>\
                                ');
                }
            }
        })
    }
    var initLoadData = function (initData) {
        $.ajax({
            url: initData.GetallNamkehoach,
            type: "GET",
            headers: {
                'VerificationToken': initData.VerificationToken
            },
            dataType: "json",
            success: function (data) {
                $('#Namkehoach').empty();
                $('#Namkehoach').append('<option value="-1">[--Chọn năm kế hoạch--]</option>');
                $.each(data, function (i, v) {
                    $('#Namkehoach').append('<option value="' + v.NAM_KE_HOACH_ID + '">' + v.NAM_KE_HOACH + '</option>');
                })
                var namkh = $.cookie('mkhidchung');
                if (namkh != undefined) {
                    $('#Namkehoach').val(namkh);
                    Loaddata(namkh, initData);
                }
            },
            error: function (jqXHR, textStatus, errorThrown) {
                window.notice('Có lỗi xảy ra trong quá trình lưu thông tin: ' + errorThrown, window.notice_error);
            },
            complete: function () {
            }
        });
    }
    var initButtonClick = function (initData) {
        $('.showdetail').live('click', function () {
            var a = $(this).attr('data');
            if ($('.tencap3-' + a + '').css('display') == 'none') {
                $('.tencap3-' + a + '').show();
                $('.span-' + a + '').text('-');
            } else {
                $('.tencap3-' + a + '').hide();
                $('.span-' + a + '').text('+');
            }

        });
        $('.checkvaluecha').live('click', function () {
            var a = $(this).val();
            if ($(this).is(':checked')) {
                $('.check-' + a + '').prop("checked", true);
            } else {
                $('.check-' + a + '').prop("checked", false);
            }
        })
        $('.checkvaluecon').live('click', function () {
            var a = $(this).attr('data-cha');
            var lg = $('.check-' + a + '').length;

            if ($('.cap-' + a + '').is(':checked')) {
                $('.cap-' + a + '').prop("checked", false);
                $('.cap-' + a + '').prop("indeterminate", true);
            }
            if ($(this).is(':checked')) {
                if ($('.check-' + a + '').is(':checked').length == lg) {
                    $('.cap-' + a + '').prop("indeterminate", false);
                    $('.cap-' + a + '').prop("checked", true);
                }
                $('.cap-' + a + '').prop("indeterminate", true);
            }

        })
        $('#Namkehoach').on('change', function () {
            var namekehoach = $(this).val();
            $.session.set('namkehoachchung', namekehoach);
            Loaddata(namekehoach, initData);
        })
        $('#Ghinhan').on('click', function () {
            data = [];
            $('.ct input[level="3"]').each(function () {
                if ($(this).is(":checked")) {
                    var obj = {
                        'DON_VI_CHI_TIEU_ID': 0,
                        'DON_VI_ID': initData.DonviID,
                        'CHI_TIEU_ID': $(this).val(),
                        'NAM_KE_HOACH_ID': $('#Namkehoach').val(),
                        'FLAG':0
                    }
                    data.push(obj);
                }
            });
            $.ajax({
                url: initData.SaveDonViChiTieu,
                type: "POST",
                headers: {
                    'VerificationToken': initData.VerificationToken
                },
                dataType: "json",
                data: JSON.stringify({
                    'modelObj': data,
                    'flag': 5,
                    'statusid': 1,
                    'nhomchitieu': 1,
                    'nhomdonvi': initData.DonviID,
                    'chot': 0
                }),
                contentType: 'application/json',
                success: function (data) {
                    window.notice(data, window.notice_success);
                },
                error: function (jqXHR, textStatus, errorThrown) {
                    window.notice('Có lỗi xảy ra trong quá trình lưu thông tin: ' + errorThrown, window.notice_error);
                },
                complete: function () {

                }
            });
        });

    }
    return {
        init: function (initData) {
            //load data
            initLoadData(initData);
            initButtonClick(initData);
        }
    }
}();